package com.hzf.material.dao.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class MaterialGoodsExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public MaterialGoodsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }


        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andGoodsIdIsNull() {
            addCriterion("goods_id is null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIsNotNull() {
            addCriterion("goods_id is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdEqualTo(Integer value) {
            addCriterion("goods_id =", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotEqualTo(Integer value) {
            addCriterion("goods_id <>", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThan(Integer value) {
            addCriterion("goods_id >", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_id >=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThan(Integer value) {
            addCriterion("goods_id <", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThanOrEqualTo(Integer value) {
            addCriterion("goods_id <=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIn(List<Integer> values) {
            addCriterion("goods_id in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotIn(List<Integer> values) {
            addCriterion("goods_id not in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdBetween(Integer value1, Integer value2) {
            addCriterion("goods_id between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_id not between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNull() {
            addCriterion("goods_name is null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNotNull() {
            addCriterion("goods_name is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameEqualTo(String value) {
            addCriterion("goods_name =", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotEqualTo(String value) {
            addCriterion("goods_name <>", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThan(String value) {
            addCriterion("goods_name >", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("goods_name >=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThan(String value) {
            addCriterion("goods_name <", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("goods_name <=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLike(String value) {
            addCriterion("goods_name like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotLike(String value) {
            addCriterion("goods_name not like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIn(List<String> values) {
            addCriterion("goods_name in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotIn(List<String> values) {
            addCriterion("goods_name not in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameBetween(String value1, String value2) {
            addCriterion("goods_name between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotBetween(String value1, String value2) {
            addCriterion("goods_name not between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andAmountIsNull() {
            addCriterion("amount is null");
            return (Criteria) this;
        }

        public Criteria andAmountIsNotNull() {
            addCriterion("amount is not null");
            return (Criteria) this;
        }

        public Criteria andAmountEqualTo(Integer value) {
            addCriterion("amount =", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotEqualTo(Integer value) {
            addCriterion("amount <>", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThan(Integer value) {
            addCriterion("amount >", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThanOrEqualTo(Integer value) {
            addCriterion("amount >=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThan(Integer value) {
            addCriterion("amount <", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThanOrEqualTo(Integer value) {
            addCriterion("amount <=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountIn(List<Integer> values) {
            addCriterion("amount in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotIn(List<Integer> values) {
            addCriterion("amount not in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountBetween(Integer value1, Integer value2) {
            addCriterion("amount between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotBetween(Integer value1, Integer value2) {
            addCriterion("amount not between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andUnitIsNull() {
            addCriterion("unit is null");
            return (Criteria) this;
        }

        public Criteria andUnitIsNotNull() {
            addCriterion("unit is not null");
            return (Criteria) this;
        }

        public Criteria andUnitEqualTo(String value) {
            addCriterion("unit =", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotEqualTo(String value) {
            addCriterion("unit <>", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThan(String value) {
            addCriterion("unit >", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitGreaterThanOrEqualTo(String value) {
            addCriterion("unit >=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThan(String value) {
            addCriterion("unit <", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLessThanOrEqualTo(String value) {
            addCriterion("unit <=", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitLike(String value) {
            addCriterion("unit like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotLike(String value) {
            addCriterion("unit not like", value, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitIn(List<String> values) {
            addCriterion("unit in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotIn(List<String> values) {
            addCriterion("unit not in", values, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitBetween(String value1, String value2) {
            addCriterion("unit between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andUnitNotBetween(String value1, String value2) {
            addCriterion("unit not between", value1, value2, "unit");
            return (Criteria) this;
        }

        public Criteria andHasInstallIsNull() {
            addCriterion("has_install is null");
            return (Criteria) this;
        }

        public Criteria andHasInstallIsNotNull() {
            addCriterion("has_install is not null");
            return (Criteria) this;
        }

        public Criteria andHasInstallEqualTo(Integer value) {
            addCriterion("has_install =", value, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallNotEqualTo(Integer value) {
            addCriterion("has_install <>", value, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallGreaterThan(Integer value) {
            addCriterion("has_install >", value, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallGreaterThanOrEqualTo(Integer value) {
            addCriterion("has_install >=", value, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallLessThan(Integer value) {
            addCriterion("has_install <", value, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallLessThanOrEqualTo(Integer value) {
            addCriterion("has_install <=", value, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallIn(List<Integer> values) {
            addCriterion("has_install in", values, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallNotIn(List<Integer> values) {
            addCriterion("has_install not in", values, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallBetween(Integer value1, Integer value2) {
            addCriterion("has_install between", value1, value2, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andHasInstallNotBetween(Integer value1, Integer value2) {
            addCriterion("has_install not between", value1, value2, "hasInstall");
            return (Criteria) this;
        }

        public Criteria andInstallPriceIsNull() {
            addCriterion("install_price is null");
            return (Criteria) this;
        }

        public Criteria andInstallPriceIsNotNull() {
            addCriterion("install_price is not null");
            return (Criteria) this;
        }

        public Criteria andInstallPriceEqualTo(BigDecimal value) {
            addCriterion("install_price =", value, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceNotEqualTo(BigDecimal value) {
            addCriterion("install_price <>", value, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceGreaterThan(BigDecimal value) {
            addCriterion("install_price >", value, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("install_price >=", value, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceLessThan(BigDecimal value) {
            addCriterion("install_price <", value, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("install_price <=", value, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceIn(List<BigDecimal> values) {
            addCriterion("install_price in", values, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceNotIn(List<BigDecimal> values) {
            addCriterion("install_price not in", values, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("install_price between", value1, value2, "installPrice");
            return (Criteria) this;
        }

        public Criteria andInstallPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("install_price not between", value1, value2, "installPrice");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdIsNull() {
            addCriterion("type_big_id is null");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdIsNotNull() {
            addCriterion("type_big_id is not null");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdEqualTo(Integer value) {
            addCriterion("type_big_id =", value, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdNotEqualTo(Integer value) {
            addCriterion("type_big_id <>", value, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdGreaterThan(Integer value) {
            addCriterion("type_big_id >", value, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("type_big_id >=", value, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdLessThan(Integer value) {
            addCriterion("type_big_id <", value, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdLessThanOrEqualTo(Integer value) {
            addCriterion("type_big_id <=", value, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdIn(List<Integer> values) {
            addCriterion("type_big_id in", values, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdNotIn(List<Integer> values) {
            addCriterion("type_big_id not in", values, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdBetween(Integer value1, Integer value2) {
            addCriterion("type_big_id between", value1, value2, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeBigIdNotBetween(Integer value1, Integer value2) {
            addCriterion("type_big_id not between", value1, value2, "typeBigId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdIsNull() {
            addCriterion("type_middle_id is null");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdIsNotNull() {
            addCriterion("type_middle_id is not null");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdEqualTo(Integer value) {
            addCriterion("type_middle_id =", value, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdNotEqualTo(Integer value) {
            addCriterion("type_middle_id <>", value, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdGreaterThan(Integer value) {
            addCriterion("type_middle_id >", value, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("type_middle_id >=", value, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdLessThan(Integer value) {
            addCriterion("type_middle_id <", value, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdLessThanOrEqualTo(Integer value) {
            addCriterion("type_middle_id <=", value, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdIn(List<Integer> values) {
            addCriterion("type_middle_id in", values, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdNotIn(List<Integer> values) {
            addCriterion("type_middle_id not in", values, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdBetween(Integer value1, Integer value2) {
            addCriterion("type_middle_id between", value1, value2, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeMiddleIdNotBetween(Integer value1, Integer value2) {
            addCriterion("type_middle_id not between", value1, value2, "typeMiddleId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdIsNull() {
            addCriterion("type_small_id is null");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdIsNotNull() {
            addCriterion("type_small_id is not null");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdEqualTo(Integer value) {
            addCriterion("type_small_id =", value, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdNotEqualTo(Integer value) {
            addCriterion("type_small_id <>", value, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdGreaterThan(Integer value) {
            addCriterion("type_small_id >", value, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("type_small_id >=", value, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdLessThan(Integer value) {
            addCriterion("type_small_id <", value, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdLessThanOrEqualTo(Integer value) {
            addCriterion("type_small_id <=", value, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdIn(List<Integer> values) {
            addCriterion("type_small_id in", values, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdNotIn(List<Integer> values) {
            addCriterion("type_small_id not in", values, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdBetween(Integer value1, Integer value2) {
            addCriterion("type_small_id between", value1, value2, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andTypeSmallIdNotBetween(Integer value1, Integer value2) {
            addCriterion("type_small_id not between", value1, value2, "typeSmallId");
            return (Criteria) this;
        }

        public Criteria andUseIdIsNull() {
            addCriterion("use_id is null");
            return (Criteria) this;
        }

        public Criteria andUseIdIsNotNull() {
            addCriterion("use_id is not null");
            return (Criteria) this;
        }

        public Criteria andUseIdEqualTo(Integer value) {
            addCriterion("use_id =", value, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdNotEqualTo(Integer value) {
            addCriterion("use_id <>", value, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdGreaterThan(Integer value) {
            addCriterion("use_id >", value, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("use_id >=", value, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdLessThan(Integer value) {
            addCriterion("use_id <", value, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdLessThanOrEqualTo(Integer value) {
            addCriterion("use_id <=", value, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdIn(List<Integer> values) {
            addCriterion("use_id in", values, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdNotIn(List<Integer> values) {
            addCriterion("use_id not in", values, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdBetween(Integer value1, Integer value2) {
            addCriterion("use_id between", value1, value2, "useId");
            return (Criteria) this;
        }

        public Criteria andUseIdNotBetween(Integer value1, Integer value2) {
            addCriterion("use_id not between", value1, value2, "useId");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinIsNull() {
            addCriterion("is_openpin is null");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinIsNotNull() {
            addCriterion("is_openpin is not null");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinEqualTo(Integer value) {
            addCriterion("is_openpin =", value, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinNotEqualTo(Integer value) {
            addCriterion("is_openpin <>", value, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinGreaterThan(Integer value) {
            addCriterion("is_openpin >", value, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_openpin >=", value, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinLessThan(Integer value) {
            addCriterion("is_openpin <", value, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinLessThanOrEqualTo(Integer value) {
            addCriterion("is_openpin <=", value, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinIn(List<Integer> values) {
            addCriterion("is_openpin in", values, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinNotIn(List<Integer> values) {
            addCriterion("is_openpin not in", values, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinBetween(Integer value1, Integer value2) {
            addCriterion("is_openpin between", value1, value2, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andIsOpenpinNotBetween(Integer value1, Integer value2) {
            addCriterion("is_openpin not between", value1, value2, "isOpenpin");
            return (Criteria) this;
        }

        public Criteria andSalesIsNull() {
            addCriterion("sales is null");
            return (Criteria) this;
        }

        public Criteria andSalesIsNotNull() {
            addCriterion("sales is not null");
            return (Criteria) this;
        }

        public Criteria andSalesEqualTo(Integer value) {
            addCriterion("sales =", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesNotEqualTo(Integer value) {
            addCriterion("sales <>", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesGreaterThan(Integer value) {
            addCriterion("sales >", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesGreaterThanOrEqualTo(Integer value) {
            addCriterion("sales >=", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesLessThan(Integer value) {
            addCriterion("sales <", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesLessThanOrEqualTo(Integer value) {
            addCriterion("sales <=", value, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesIn(List<Integer> values) {
            addCriterion("sales in", values, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesNotIn(List<Integer> values) {
            addCriterion("sales not in", values, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesBetween(Integer value1, Integer value2) {
            addCriterion("sales between", value1, value2, "sales");
            return (Criteria) this;
        }

        public Criteria andSalesNotBetween(Integer value1, Integer value2) {
            addCriterion("sales not between", value1, value2, "sales");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNull() {
            addCriterion("shop_id is null");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNotNull() {
            addCriterion("shop_id is not null");
            return (Criteria) this;
        }

        public Criteria andShopIdEqualTo(Integer value) {
            addCriterion("shop_id =", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotEqualTo(Integer value) {
            addCriterion("shop_id <>", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThan(Integer value) {
            addCriterion("shop_id >", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("shop_id >=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThan(Integer value) {
            addCriterion("shop_id <", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThanOrEqualTo(Integer value) {
            addCriterion("shop_id <=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdIn(List<Integer> values) {
            addCriterion("shop_id in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotIn(List<Integer> values) {
            addCriterion("shop_id not in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdBetween(Integer value1, Integer value2) {
            addCriterion("shop_id between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotBetween(Integer value1, Integer value2) {
            addCriterion("shop_id not between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andLngIsNull() {
            addCriterion("lng is null");
            return (Criteria) this;
        }

        public Criteria andLngIsNotNull() {
            addCriterion("lng is not null");
            return (Criteria) this;
        }

        public Criteria andLngEqualTo(BigDecimal value) {
            addCriterion("lng =", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotEqualTo(BigDecimal value) {
            addCriterion("lng <>", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngGreaterThan(BigDecimal value) {
            addCriterion("lng >", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("lng >=", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngLessThan(BigDecimal value) {
            addCriterion("lng <", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngLessThanOrEqualTo(BigDecimal value) {
            addCriterion("lng <=", value, "lng");
            return (Criteria) this;
        }

        public Criteria andLngIn(List<BigDecimal> values) {
            addCriterion("lng in", values, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotIn(List<BigDecimal> values) {
            addCriterion("lng not in", values, "lng");
            return (Criteria) this;
        }

        public Criteria andLngBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("lng between", value1, value2, "lng");
            return (Criteria) this;
        }

        public Criteria andLngNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("lng not between", value1, value2, "lng");
            return (Criteria) this;
        }

        public Criteria andLatIsNull() {
            addCriterion("lat is null");
            return (Criteria) this;
        }

        public Criteria andLatIsNotNull() {
            addCriterion("lat is not null");
            return (Criteria) this;
        }

        public Criteria andLatEqualTo(BigDecimal value) {
            addCriterion("lat =", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotEqualTo(BigDecimal value) {
            addCriterion("lat <>", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatGreaterThan(BigDecimal value) {
            addCriterion("lat >", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("lat >=", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatLessThan(BigDecimal value) {
            addCriterion("lat <", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatLessThanOrEqualTo(BigDecimal value) {
            addCriterion("lat <=", value, "lat");
            return (Criteria) this;
        }

        public Criteria andLatIn(List<BigDecimal> values) {
            addCriterion("lat in", values, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotIn(List<BigDecimal> values) {
            addCriterion("lat not in", values, "lat");
            return (Criteria) this;
        }

        public Criteria andLatBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("lat between", value1, value2, "lat");
            return (Criteria) this;
        }

        public Criteria andLatNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("lat not between", value1, value2, "lat");
            return (Criteria) this;
        }

        public Criteria andGeoCodeIsNull() {
            addCriterion("geo_code is null");
            return (Criteria) this;
        }

        public Criteria andGeoCodeIsNotNull() {
            addCriterion("geo_code is not null");
            return (Criteria) this;
        }

        public Criteria andGeoCodeEqualTo(long value) {
            addCriterion("geo_code =", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeNotEqualTo(long value) {
            addCriterion("geo_code <>", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeGreaterThan(long value) {
            addCriterion("geo_code >", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeGreaterThanOrEqualTo(long value) {
            addCriterion("geo_code >=", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeLessThan(long value) {
            addCriterion("geo_code <", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeLessThanOrEqualTo(long value) {
            addCriterion("geo_code <=", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeLike(long value) {
            addCriterion("geo_code like", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeNotLike(long value) {
            addCriterion("geo_code not like", value, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeIn(List<Long> values) {
            addCriterion("geo_code in", values, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeNotIn(List<Long> values) {
            addCriterion("geo_code not in", values, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeBetween(Long value1, Long value2) {
            addCriterion("geo_code between", value1, value2, "geoCode");
            return (Criteria) this;
        }

        public Criteria andGeoCodeNotBetween(Long value1, Long value2) {
            addCriterion("geo_code not between", value1, value2, "geoCode");
            return (Criteria) this;
        }
        public Criteria andCityIdEqualTo(Integer value1) {
            addCriterion("b.city =", value1, "city");
            return (Criteria) this;
        }

    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}